package com.sun.jdk.stream;

import java.util.Arrays;
import java.util.List;

/**
 * Stream流的操作示例
 */
public class StreamTest02 {

    public static void main(String[] args) {

        List<String> list = Arrays.asList("张三", "张三丰", "成龙", "周星驰");

        // 获取所有姓张的姓名
        // 获取所有姓张的，并且姓名长度等于3的
        // 打印出结果
        
        // 标准Lambda表达式写法
        list.stream().filter((s) -> {
                    return s.startsWith("张");
                })
                .filter((s) -> {
                    return s.length() == 3;
                })
                .forEach((s) -> {
                    System.out.println(s);
                });
        System.out.println("----------");
        
        // 简化Lambda表达式写法
        list.stream().filter(s -> s.startsWith("张"))
                .filter(s -> s.length()==3)
                .forEach(s -> System.out.println(s));
        System.out.println("----------");
        
        // 简化Lambda表达式写法(使用方法引用)
        list.stream().filter(s -> (s.startsWith("张")))
                .filter(s -> s.length()==3)
                .forEach(System.out::println);
    }
}
